package com.hyou.springboot2.service.base.itfc;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.hyou.springboot2.dto.pojo.SysRoleMenuDO;

/**
 * SysRoleMenuService Service接口定义类
 * 
 * @author FengChangshuo
 * @version 1.0.0 2018-11-01 13:53:25 初始创建
 */
public interface SysRoleMenuService {
    
    /**
     * 新增一条SysRoleMenuDO记录
     * 
     * @param paramBean 要新增的SysRoleMenuDO记录数据对象
     */
    void insert(SysRoleMenuDO paramBean);
    
    /**
     * 批量新增SysRoleMenuDO记录
     * 
     * @param paramBeans 要新增的SysRoleMenuDO记录数据对象集合
     */
    void insertBatch(List<SysRoleMenuDO> paramBeans);
    
    /**
     * 根据roleId，删除一条SysRoleMenuDO记录
     * 
     * @param roleId 角色ID
     */
    void deleteByRoleId(Long roleId);
    
    /**
     * 根据角色ID，批量删除多条SysRoleMenuDO记录
     *
     * @param roleIds 角色ID字符串，多个主键用英文逗号分隔
     */
    void deleteBatchByRoleIds(String roleIds);
    
    /**
     * 根据角色ID，批量删除多条SysRoleMenuDO记录
     *
     * @param roleIds 角色ID集合
     */
    void deleteBatchByRoleIds(List<Long> roleIds);
    
    /**
     * 查询符合条件的SysRoleMenuDO结果集,根据paramBean动态拼接查询条件。
     * 
     * @param paramBean 用于封装查询条件
     * @return SysRoleMenuDO数据查询结果集
     */
    List<SysRoleMenuDO> listByConditions(SysRoleMenuDO paramBean);
    
    /**
     * 分页查询符合条件的SysRoleMenuDO结果集
     * 
     * @param paramBean 查询条件
     * @param pageNum 查询的页码
     * @param pageSize 每页记录数
     * @return 数据查询结果集
     */
    PageInfo<SysRoleMenuDO> listByPage(SysRoleMenuDO paramBean, final int pageNum, final int pageSize);
    
}
